package com.dwxt.cdms.dao.oufu;

import com.dwxt.cdms.entity.oufu.OuFuLocData;
import com.dwxt.cdms.entity.oufu.OuFuLocDataExample;
import com.dwxt.cdms.entity.vo.OuFuLocDataVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface OuFuLocDataMapper {
    long countByExample(OuFuLocDataExample example);

    int deleteByExample(OuFuLocDataExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(OuFuLocData record);

    int insertSelective(OuFuLocData record);

    List<OuFuLocData> selectByExample(OuFuLocDataExample example);

    OuFuLocData selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") OuFuLocData record, @Param("example") OuFuLocDataExample example);

    int updateByExample(@Param("record") OuFuLocData record, @Param("example") OuFuLocDataExample example);

    int updateByPrimaryKeySelective(OuFuLocData record);

    int updateByPrimaryKey(OuFuLocData record);

    List<OuFuLocDataVO> selectGroup(@Param("name") String name, @Param("type") String type,Integer stationId);

    List<OuFuLocDataVO> selectGroupByHeartCard(@Param("name") String name, @Param("type") String type);

    List<OuFuLocData> selectPage(@Param("customerId") Integer customerId,@Param("type") String type);

    List<OuFuLocData> selectLocDataListByCustomerIdAndTime(@Param("customerId") Integer customerId, @Param("startTime") String startTime, @Param("endTime") String endTime);

    List<OuFuLocData> selectAllLocDataListByCustomerIdAndTime(@Param("customerId") Integer customerId, @Param("startTime") String startTime, @Param("endTime") String endTime);

    OuFuLocData selectLocByCustomerId(@Param("customerId") Integer customerId);

    List<OuFuLocData> selectCardLocDataListByImeiAndTime(Integer customerId,String imei, String startTime, String endTime);

    Map selectLastLocDataByCustomerId(Integer customerId);
}